home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs08.d81 / typrac.prg (.txt) < prev    next >
Commodore BASIC  |  2009-10-10  |  3KB  |  130 lines

  1. 10 POKE53281,1 :POKE53280,0
  2. 20 PRINT"[147] THIS PROGRAM  IS DESIGNED TO MEASURE "
  3. 30 PRINT"  YOUR TYPING SPEED AND TO HELP YOU "
  4. 40 PRINT"IMPROVE IT. IF YOU WOULD LIKE TO HAVE "
  5. 50 PRINT"   YOUR RATING MEASURED, TYPE 'R'."
  6. 60 PRINT"OTHERWISE GIVE YOUR BEST RATING SO FAR."
  7. 70 GET A$:IF A$=""THEN 70
  8. 80 IF A$="R" THEN PRINT"R";:GOTO 530
  9. 90 IF ASC(A$)<49ORASC(A$)>57THEN70
  10. 100 RA=10*VAL(A$)
  11. 110 PRINTA$;
  12. 120 GETA$:IFA$=""THEN120
  13. 130 IF ASC(A$)<48 OR ASC(A$)>57 THEN 120
  14. 140 PRINTA$;:RA=RA+VAL(A$)
  15. 150 GOSUB810
  16. 160 GOSUB860
  17. 170 GOSUB240:
  18. 180 N=INT(2000/RA):GOSUB340
  19. 190 Y=(Z/LEN(X$))/60
  20. 200 RB=10+90/(1+Y)
  21. 210 RA=INT(0.8*RA+0.2*RB )
  22. 220 D=D+1
  23. 230 GOTO150
  24. 240 PRINT""
  25. 250 PRINT"COPY THE FOLLOWING SENTENCE AS FAST AS"
  26. 260 PRINT"YOU CAN. START WITH A SPACE":PRINT
  27. 270 R=LEN(X$):J=1
  28. 280 IFR<23THEN310
  29. 290 PRINTMID$(X$,J,22);
  30. 300 J=J+22:R=R-22:GOTO280
  31. 310 PRINTMID$(X$,J,R);"                              "
  32. 320 RETURN
  33. 330 PRINT"                                                         "
  34. 340 PRINT""
  35. 350 POKE1303,160
  36. 360 R=LEN(X$)
  37. 370 GETA$:IFA$=""THEN370
  38. 380 IFA$<>" "THEN370
  39. 390 POKE1303,32
  40. 400 Z=TI
  41. 410 PRINTA$;
  42. 420 FORJ=2TOR:W=1303+J
  43. 430 POKEW,PEEK(W)+128:T=0
  44. 440 GETA$:IFA$<>""THEN470
  45. 450 T=T+1:IFT<>NTHEN440
  46. 460 Q=245:GOSUB620:T=0:GOTO440
  47. 470 IFA$=MID$(X$,J,1)THEN490
  48. 480 Q=210:FORK=1TO5:GOSUB620:NEXT:GOTO440
  49. 490 PRINTA$;:POKEW,PEEK(W)-128
  50. 500 NEXTJ
  51. 510 Z=TI-Z:RETURN
  52. 520 RA=10:D=-5:GOTO150
  53. 530 PRINT"[147]  THE MACHINE WILL":PRINT"GIVE YOU SOME":PRINT"SENTENCES TO COPY AS"
  54. 540 PRINT"FAST AS YOU CAN." :PRINT
  55. 550 PRINT"THE BLACK MARKER"
  56. 560 PRINT"SHOWS THE NEXT LETTER"
  57. 570 PRINT"(OR SPACE) EXPECTED."
  58. 580 PRINT"START WITH A SPACE!":PRINT:PRINT:PRINT
  59. 590 PRINT"NOW STRIKE ANY KEY":PRINT"TO START THE TEST"
  60. 600 GETA$:IFA$=""THEN600
  61. 610 GOTO520
  62. 620 IF D<0THEN RETURN
  63. 630 REM      POKE54296,15
  64. 640 REM  ***** BELL SOUND *****
  65. 650 S=54272
  66. 660 POKE S+1,130:POKE S+5,9
  67. 670 POKE S+15,30:POKE S+24,15
  68. 680 POKE S+4,21
  69. 690 FOR T=1 TO 200 :NEXT
  70. 700 POKE S+4,20:RETURN
  71. 710 REM SELECTS A WORD BETWEEN A AND B
  72. 720 RESTORE
  73. 730 C=A:Q=245
  74. 740 IF C=0 THEN 760
  75. 750 READ Y$:C=C-1:GOTO740
  76. 760 C=INT((B-A+1)*RND(1))
  77. 770 IFC=0THEN790
  78. 780 READY$:C=C-1:Q=230:GOTO770
  79. 790 X$=X$+" "+Y$
  80. 800 RETURN
  81. 810 IFD<0THENPRINT"[147]TEST SENTENCE";D+6:RETURN
  82. 820 PRINT"[147]         [176][192][192][192][192][192][192][174]"
  83. 830 PRINT   "RATING:  [221]  ";RA;"[144][221]"
  84. 840 PRINT   "         [173][192][192][192][192][192][192][189]"
  85. 850 RETURN
  86. 860 X$="":GOSUB940
  87. 870 IF RND(1)>0.5THEN 900
  88. 880 GOSUB1000:GOSUB1020
  89. 890 GOTO910
  90. 900 GOSUB1010
  91. 910 IFRND(1)>0.25THEN930
  92. 920 GOSUB1100
  93. 930 RETURN
  94. 940 IF RND(1)>0.3THEN960
  95. 950 GOSUB1120:RETURN
  96. 960 X$=X$+" THE"
  97. 970 IF RND(1)>0.3THEN990
  98. 980 GOSUB1130
  99. 990 GOSUB1140:RETURN
  100. 1000 A=43:B=50:GOSUB710:RETURN
  101. 1010 A=26:B=35:GOSUB710:RETURN
  102. 1020 IF RND(1)>0.6THEN1060
  103. 1030 X$=X$+" "+"THE"
  104. 1040 IFREN(1)<0.35THENGOSUB1150
  105. 1050 GOSUB1170:RETURN
  106. 1060 IF RND(1)>0.5THENX$=X$+" "+"SOME":GOTO1080
  107. 1070 GOSUB1160
  108. 1080 IFRND(1)<0.35THENGOSUB1150
  109. 1090 GOSUB1180:RETURN
  110. 1100 IF RND(1)>0.7THENX$=X$+" "+"VERY"
  111. 1110 GOSUB 1190:RETURN
  112. 1120 A=1:B=10:GOSUB710:RETURN
  113. 1130 A=11:B=17:GOSUB710:RETURN
  114. 1140 A=18:B=25:GOSUB710:RETURN
  115. 1150 A=75:B=79:GOSUB710:RETURN
  116. 1160 A=58:B=68:GOSUB710:RETURN
  117. 1170 A=51:B=57:GOSUB710:RETURN
  118. 1180 A=69:B=74:GOSUB710:RETURN
  119. 1190 A=36:B=42:GOSUB710:RETURN
  120. 1200 DATA ANDREW,JOHN,JILL,SUSAN,XAVIER,VANESSA,BILL,PENNY,ZENA,JOE
  121. 1210 DATASILLY,FAT,GREEDY,TALL,UNTIDY,UNWASHED,STUPID
  122. 1220 DATABOY,GIRL,MAID,SCHOOLBOY,TEACHER,PROFESSOR,QUEEN,DANCER
  123. 1230 DATAWEPT,LAUGHED,"RAN AWAY",FELL,ESCAPED,FAINTED,SNORED,TALKED,STOPPED,USED
  124. 1240 DATAQUICKLY,SLOWLY,FAST,NOISILY,SOFTLY,SLYLY,WITHOUT ANY FUSS
  125. 1250 DATAGOBBLED,PINCHED,BOUGHT,SOLD,STOLE,FETCHED,BROUGHT,BOILED
  126. 1260 DATADUCK,WINE,WHISKY,BEANS,RABBIT,LOAF,SYNTHETIC CREAM
  127. 1270 DATATWO,THREE,4,5,6,7,8,10,13,18,20
  128. 1280 DATACAKES,POTATOES,APPLES,PIES,SCONES,ROLLS
  129. 1290 DATAFOUL,MOULDY,ROTTEN,STALE,GOOD
  130.